<center>
<?php
header('Content-Type:text/html; charset=utf-8;');
$host=$_POST[host];

#列出某个目录中的文件名（绝对路径）  
$path = '../../host_backup';
function get_filetree($path){
  $tree = array();
  foreach(glob($path.'/*') as $single){
    if(is_dir($single)){
    $tree = array_merge($tree,get_filetree($single));
    }
    else{
    $tree[] = $single;
    }
  }
  return $tree;
}
$hostfile=get_filetree($path);

#字节换算
function formatBytes($size) {
  $units = array('B', 'KB', 'MB', 'GB', 'TB');
  for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;
  return round($size, 2).$units[$i];
 }

#遍历主机列表文件
for ($j=0;$j<count($hostfile);$j++){
  $file=$hostfile[$j];
  $text = file_get_contents($file); //读取文件中的内容
  #替换windows下的换行符为linux的换行符
  $order=array("\r\n","\n","\r");
  $replace="\n";
  $text=str_replace($order,$replace,$text);
  preg_match_all('("(.*)_\d.rar" (\d+) ([0-9-]+ [0-9:]+))',$text,$m); //正则匹配
  $num=count($m[0]);
  for ($i=0;$i<count($m[0]);$i++){    
    if ($m[1][$i]==$host) {
      $result=ture;  //如果有一个匹配，那么结果是正确的，也就是说，是有备份的。
      $times=$times+1;  //有几个结果
      if ($times==1) {  //在有备份的情况下，只输出一次
        print "<b><h3>产品名&nbsp&nbsp大小&nbsp&nbsp日期时间</h3></b>";
      } 
      if ($result==ture) {  //在有备份的情况下，输出一个主机文件的所有结果
      #开始优化主机文件名
      $order="../../host_backup";
      $replace="IP:";
      $file=str_replace($order,$replace,$file);
	  $order="shbak-";
	  $replace="存放在上海远程备份的";
	  $file=str_replace($order,$replace,$file);
	  $order="bjbak-";
  	  $replace="存放在北京远程备份的";
	  $file=str_replace($order,$replace,$file);
	  $order="xgbak-";
	  $replace="存放在香港远程备份的";
	  $file=str_replace($order,$replace,$file);
	  #结束优化主机文件名
	  if ($file !== $thisfile) { //thisfile变量在下面的代码中，第75行
	    if ($times!==1) {
	      print "</td></tr></table>";
	    }
	    print "<font color='blue'>".$file."</font><br /><table>";
      }
	  #第一列
      print "<tr><td>".$m[1][$i];
	  print "</td><td>";
	  #第二列
      echo  formatBytes($m[2][$i]);
	  print "</td><td>";
      #第三列
      print $m[3][$i]."";
      if ($file == $thisfile) {
	    print "</td></tr>";
      }
      $thisfile=$file;
      } 
    }
  }
}
if ($times==0) {
   print "没有备份,请联系网管确认下! | <a href='main.php'>返回</a></center>";
}
else {
     print "</table><center><font color='green'>有<font color='red'>".$times."</font>个结果</font> | <a href='main.php'>返回</a></center>";
}
